package cn.ljy.uem.model;

import cn.ljy.common.model.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 学校课程章节
 *实体类
 * @author 小锋
 * @date 2022/08/22
 */
@ApiModel(value = "课程章节")
@Data
@NoArgsConstructor
public class SchoolCourseSection extends BaseModel {

    //教学章节id（uuid）
    private String id;

    //所属课程id
    @NotNull(message = "课程不能为空")
    private Long courseId;

    //父章节id
    private String parentId;

    //章节名称
    @NotBlank(message = "标题不能为空")
    @Length(min = 2, max = 20, message = "标题长度必须在 {min} - {max} 之间")
    private String title;

    //章节摘要
    private String excerpt;

    //章节介绍
    private String content;

    //排序 排序（默认0，排序为最大），优先级在“是否推荐”z之下
//    @NotNull(message = "排序不能为空")
    private Integer sort;

    //发布时间
    private Date createTime;

    //编辑时间
    private Date updateTime;

    //录入者账户（对应账户表）
    private SchoolTeacher creator;

    //最后编辑者（对应账户表）
    private SchoolTeacher editor;

    //回收站 回收站（0表示不在回收站中，即该数据在正常显式；1表示在回收站中，但数据未真正删除，可以恢复）
    private Boolean recycle;

    //非数据库字段
    private SchoolTeacher schoolTeacher;

    private SchoolCourse schoolCourse;

    private SchoolCourseSection schoolCourseSection;

}
